﻿namespace GreenIsomer.Web.Controls.JQuery {

	/// <summary>
	/// Defines a contract used to apply client-side theme elements to server controls.
	/// </summary>
	public interface IThemed {


		#region Properties

		/// <summary>
		/// Gets whether or not the control should be rendered with jQuery UI theme classes.
		/// </summary>
		bool UseTheme { get; }

		/// <summary>
		/// Gets a value representing logical jQuery UI component containers defined by the theme framework.
		/// </summary>
		PanelType PanelType { get; }

		/// <summary>
		/// Gets whether or not the control should be rendered with a disabled interaction cue defined by the theme framework.
		/// </summary>
		bool Enabled { get; }

		/// <summary>
		/// Gets whether or not the control should be rendered with a highlighted interaction cue defined by the theme framework.
		/// </summary>
		bool Highlight { get; }

		/// <summary>
		/// Gets whether or not the control should be rendered with an error interaction cue defined by the theme framework.
		/// </summary>
		bool ShowErrorState { get; }

		/// <summary>
		/// Gets a value representing priority-based interaction cues defined by the theme framework.
		/// </summary>
		Priority Priority { get; }

		/// <summary>
		/// Gets a value representing any custom user classes added to any other classes defined by the theme framework.
		/// </summary>
		string CssClass { get; }

		#endregion


	}

}